CODE 84. Anagrams

版权声明:本文为博主原创文章,转载请注明出处,谢谢!

版权声明:本文为博主原创文章,转载请注明出处:http://blog.jerkybible.com/2013/10/18/2013-10-18-CODE 84 Anagrams/

访问原文「CODE 84. Anagrams

Given an array of strings, return all groups of strings that are anagrams.
Note: All inputs will be in lower-case.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public ArrayList<String> anagrams(String[] strs) {
// Note: The Solution object is instantiated only once and is reused by
// each test case.
Map<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
ArrayList<String> result = new ArrayList<String>();
for (String str : strs) {
char[] cs = str.toCharArray();
Arrays.sort(cs);
String newStr = new String(cs);
if (map.containsKey(newStr)) {
ArrayList<String> value = map.get(newStr);
value.add(str);
map.put(newStr, value);
} else {
ArrayList<String> value = new ArrayList<String>();
value.add(str);
map.put(newStr, value);
}
}
for (ArrayList<String> value : map.values()) {
if (value.size() > 1) {
result.addAll(value);
}
}
return result;
}
Jerky Lu wechat
欢迎加入微信公众号